The present invention relates to a technique for dynamically assigning addresses, for packet switched data communications, to data devices accessed by a dial-out service from the packet network.
Data communication, particularly to and from the public network commonly referred to as the Internet is rapidly becoming a ubiquitous aspect of modern life throughout business, academic, educational and home environs. Today, the most common paradigm for access to a packet network, such as the Internet or a private intra-net, involves a dial-up procedure.
A user subscribes to network access services through an Internet Service Provider (ISP). The ISP operates pools of modems coupled to lines of the public switched telephone network. Typically, a pool of modems connects to a group of lines forming a multi-line hunt group, which is assigned one main telephone number. Users"" computers dial the main number, and the telephone network connects each of the incoming calls to a line to the next available modem in the pool. Each user""s computer typically includes a modem or an ISDN card. The user""s modem modulates data from the user""s computer for transmission in the voice telephone band over the telephone connection, where the modem from within the pool demodulates data signals for transmission over the packet switched data network. Similarly, the modem from the pool modulates data for transmission over the telephone link, where the user""s modem demodulates the packet data for processing within the user""s computer. This telephone-based operation provides the modem a unique power, the necessary connections are virtually ubiquitous. Such modems can communicate via virtually any telephone line or wireless telephone (e.g. cellular) to any other such telephone connection, virtually anywhere in the world.
Most often, data is transferred using Transmission Control Protocol/Internet Protocol (TCP/IP) implemented over such protocols as the Point-to-Point Protocol (PPP) or Serial Line IP (SLIP). PPP and SLIP allow clients to become part of a TCP/IP network (such as the Internet) using the public telephone network. To communicate via any packet switched data network, each device must have a packet protocol address. In the common forms of such networks, today, each address is an Internet Protocol (IP) address.
In the dial-in service, the IP addresses are administered through the ISPs. To an ISP, the available IP addresses are a limited resource. Accordingly, each ISP prefers to assign IP addresses on a dynamic basis, only to those users actually on-line at any given time. ISPs offering dial-in access to the Internet therefore use IP address pooling to enable the assignment of IP addresses to callers as they reach the Internet. Typically, as part of the dial-in service, the user""s modem and the modem in the ISP pool conduct an initial handshaking, to establish data communications between the two modems. As part of this operation, the ISP host computer initiates a procedure to assign the user""s computer a numeric Internet Protocol (IP) address from the pool of available addresses. When the session ends and the user goes off-line, the ISP host can reassign the address to another user, as the next user comes on-line.
This dynamic assignment of IP addresses upon dial-in connection allows the ISP to limit the number of IP addresses used to the number of users actively connected through the ISP""s host to the Internet. This approach works efficiently for dial-in access, because data communications to/from the user""s computer do not begin until there is a connection through the ISP host, and the host assigns the necessary IP address at that time when the user first needs such an address.
Recently, there has been increasing interest in Internet services, in which a gateway device dials-out to establish a link from an edge of the packet data network through the telephone network to a user""s computer in the home or office. The dial-out link may enable a server on the Internet to provide a push-service, for example to supply e-mail or other data to a user""s personal computer. As another example, the dial-out link may enable occasional access to a remote web server, where the usage is low and the operator of the server does not want to pay the costs of an always-on link to the Internet. Also, voice telephone services over the Internet are quickly becoming popular. To emulate the ubiquitous telephone service, such voice-over-IP services will require dial-out capabilities from the data network to destination computer stations. In practice, a computer already on the Internet requests the gateway device to initiate the outbound call to the destination computer. Typically, the gateway includes one or more modems for dialing the telephone number of the destination device and establishing modem to modem communications similar to those in the more common dial-in service. However, the administration and usage of the packet addresses presents certain problems.
To send a data packet over an IP packet network, the source must know its own address plus the address of the destination. In most existing services, the destination device is virtually always on-line and has a permanently assigned IP address. An originating device either knows the IP address, or the originating device obtains the numeric IP address from some third party source on the network, such as a domain name server.
In existing dial-out type service, this means that the computer seeking communication with the off-net device accessible only through an on-demand telephone call must know an IP address assigned to the off-net device. Although the called user does not have a connection that is on all the time, the originating device needs to know the IP address of the destination in order to initiate communications through the IP packet network. The present approach to dial-out services uses static address assignment. If the ISP equipment can initiate a dial-out call to a particular data device, that data device must have been permanently assigned its own IP address, for recognition by the ISP equipment and use by the parties initiating communications to that data device. However, with a dial-out service where many destinations may not be on at any given time this creates a severe resource problem with regard to allocation of IP addresses.
Clearly a need exists for systems and methodologies which enable packet switched communications to a destination device, requiring an dial-out operation, where the destination does not have a permanently assigned packet network address. It must be possible to initiate communications, including the dial-out operation of calling the destination before or concurrently with dynamic assignment of an address to the destination. Any technique for dynamically assigning addresses for the dial-out access service should require little or no modification in existing operations of the computer system seeking to communicate with the destination.
The invention addresses the above stated needs and overcomes the stated problems by providing a dynamic assignment of a packet network address during the initiation of a dial-out link, from a network access server to a destination computer system. The assignment and the dial-out operation are initiated as part of a name translation, and the outcome of the translation returns the dynamically assigned address.
In preferred inventive embodiments, the destination has a domain name, but not an IP address. When a source system attempts to communicate with the destination, the source system sends a domain name query, with the destination name, to a domain name server. The server in turn contacts the network access server providing the dial-out access service to the destination computer system. The network access server obtains or assigns an IP address to the destination. At about the same time, the network access server initiates the telephone call to the destination system. The address is supplied to the source system, and that system utilizes the temporarily assigned IP address to communicate IP packets to/from the destination via the packet network, the network access server and the link through the telephone network.
Aspects of the invention relate to systems and software products for performing the necessary functions in dynamically assigning addresses on dial-out access services, as implemented in the network access server, the destination system and the domain name server.
For example, a first aspect of the invention relates to a network access server, which includes a packet network interface and a telephone network interface. A programmable controller, coupled to the network interfaces, controls communications through the network access server via the interfaces. A memory stores program code executable by the controller. The network access server receives a name translation query, via the packet network interface, for a name associated with a destination computer system accessible from the network access server via the switched telephone network. In response, the network access server establishes a dial-out link to the destination computer system and initiates data communication. The network access server temporarily assigns a packet network address to the destination computer system, from among a pool of addresses available to the network access server. The network access server sends a response to the query via the packet network interface. The response contains the temporarily assigned packet address as a translation of the name.
The response message may go directly to a system that requested a translation of a domain name or the like. Preferably, the network access server receives the query from a translation server, such as a domain name server; and the network access server sends the response message to the translation server. The translation server, in turn, forwards the destination address for use by the system that originally requested the translation.
If the destination system is essentially a single computer, the network access server also supplies the assigned address to the destination computer. The requesting system and the destination system use that address in subsequent communications via the packet network, the network access server and the telephone link. Some destination systems, however, may comprise a group of computers linked by a local data network. In such a case, if the intended destination node within the local network has a private address, the network access server may translate between the assigned address and the packet address.
Other aspects of the invention relate to a system and software product for use at the destination. In this regard, the destination system answers an incoming call over the telephone link and initiates data communication. The destination system negotiates with a calling network access server, to obtain a temporarily assigned address for packet data communications. The system conducts packet data communications via the telephone link and the network access server using the temporarily assigned address.
Other aspects of the invention relate to a system and software product for use in the domain name server. In operation in accord with this invention, the domain name server receives a translation query containing a domain name, via a packet switched data network. The server recognizes that the received domain name relates to a destination system accessible via a dial-out link through a telephone network. The domain name server sends a message, containing the received domain name, through the packet switched data network to a network access server. The domain name server sends this message to a particular network access server that is capable of establishing the link through the telephone network to the destination system. The domain name server subsequently receives a packet network address, temporarily assigned to the destination system, from the network access server. The temporarily assigned packet network address is supplied in a response message to a source of the translation query, via the packet switched data network.
In a preferred embodiment, the domain name server updates a translation record corresponding to the received domain name to include the packet network address temporarily assigned to the destination system, when the server receives the address from the network access server. The domain name server then can make direct translations from the name to the temporary address. The domain name server deletes the address later, in response to receipt of a message via the packet switched data network indicating that the assignment to the destination is no longer valid, for example when the destination system goes off-line.
Additional objects, advantages and novel features of the invention will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.